﻿Imports System.Xml

Public Class obsluga_pliku

    'zapisz zmiany do pliku
    Public Sub xml_plik_db_connect_write(ByVal addr As String, ByVal db As String)
        Dim dbConnecXML As XmlTextWriter
        dbConnecXML = New XmlTextWriter(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\w_prog\dbConnect.xml", System.Text.Encoding.UTF8)
        dbConnecXML.Formatting = System.Xml.Formatting.Indented

        dbConnecXML.WriteStartDocument(False)
        dbConnecXML.WriteComment("Konfiguracja polaczenia z baza danych w_prog")

        'gl. korzen
        dbConnecXML.WriteStartElement("connection")

        'addr_serwer
        dbConnecXML.WriteStartElement("addr_serwer")
        dbConnecXML.WriteString(addr)
        dbConnecXML.WriteEndElement()

        'db
        dbConnecXML.WriteStartElement("db")
        dbConnecXML.WriteString(db)
        dbConnecXML.WriteEndElement()

        'zamykamy gl. korzen
        dbConnecXML.WriteEndElement()

        dbConnecXML.Flush()
        dbConnecXML.Close()
    End Sub

    'Procedura odpowiedzialna za odczytanie informacji z pliku 
    'Plik: dbConnect.xml
    'Zadanie: przechowuje konfiguracje połączenia z bazą danych
    Public Function xml_plik_db_connect_read(ByVal szukany_element As String) As String
        'rozpoczynamy czytanie pliku dbConnect.xml celem weryfikacji połączenie z bazą danych
        Dim xmlReader As XmlTextReader = New XmlTextReader(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\w_prog\dbConnect.xml")

        'zmienna pomocnicza dla danych przechowujących informacje z pliku dbConnect.xml
        Dim element As String = ""
        Dim szukana_wartosc As String = ""

        ' rozpoczęcie procedury wczytania pliku
        Try
            Do While (xmlReader.Read())
                Select Case xmlReader.NodeType
                    Case XmlNodeType.Element
                        element = xmlReader.Name
                    Case XmlNodeType.Text
                        'zmienna dbAddr_serwer
                        'If (element = "addr_serwer") Then
                        If (element = szukany_element) Then
                            szukana_wartosc = xmlReader.Value
                        End If

                        'zmienna dbAddr_serwer
                        'If (element = "db") Then
                        '    NAZWA_BAZY = xmlReader.Value
                        'End If
                End Select
            Loop
        Catch ex As Exception
            MsgBox("Brak ustawień połączenia z bazą danych", MsgBoxStyle.Critical, "Błąd konfiguracji")
        End Try
        ' koniec wczytywania pliku
        'MsgBox("adres serwera: " + dbAddr_serwer + (Chr(13) & Chr(10)) + "użytkownik: " + dbUser + (Chr(13) & Chr(10)) + "hasło: " + dbPassword, MsgBoxStyle.Information)
        xmlReader.Close()

        Return szukana_wartosc
    End Function
End Class
